package util.http;

import org.apache.http.client.methods.HttpGet;

import java.io.IOException;

/**
 * Http 프로토콜을 사용하는 서버와 Get 방식으로 연결하는 클래스
 * @author  : BoxResin
 * @version : 1.0
 */
public class HttpGetConnector extends HttpConnector
{
	/**
	 * 서버의 주소를 전달받는 생성자
	 * @param address : 서버의 주소 (예: http://www.naver.com/)
	 */
	public HttpGetConnector(String address)
	{
		super(address);
	}

	/**
	 * 서버에 매개변수를 전달하고 결과를 반환하는 메서드
	 * @param params : 서버에 전달할 매개변수
	 * @return       : 서버의 응답 (주로 HTML 문서)
	 * @throws java.io.IOException
	 */
	@Override
	public String request(String... params) throws IOException
	{
		// 매개변수가 올바른지 검사한다.
		_checkRequestParams(params);

		// 서버주소와 매개변수를 합치고
		String url = getAddress() + "?";
		for (int i = 0; i < params.length; i += 2)
		{
			url += params[i] + "=";
			url += params[i + 1] + "&";
		}
		url = url.substring(0, url.length() - 1);

		// 서버에 전달한다.
		return _request(new HttpGet(url));
	}
}